Enterprises often have several offices or call centers that are located in a plurality of locations. To interconnect all of these sites, enterprise telephony systems have been developed. Enterprise telephony systems, which consist of a distributed set of voice switches and servers, offer enterprise applications enabled by the integration of computer systems with telephony services. The software that supports the computer-integrated functionality is generally implemented as a client-server environment in which the participants or clients (distributed telephony users) communicate directly with the server. Computer-integrated features rely not only on a server's application platform but also on the availability of the network that connects the switches, server, and application services.
Account codes are one example of an enterprise application. Account codes enable an enterprise to restrict phone calls made by employees and to associate phone calls with various entities, such as customers. This is accomplished by requiring a telephony user to enter an account code before his call can be completed. Once a phone call has been associated with an entity, the enterprise can use this information, for example, to track time spent communicating with customers or to bill customers for phone calls. Depending on the situation, a phone call may require an account code or an account code may be optional.
In general, account codes are implemented as follows: A user initiates a phone call, thereby generating a phone call request. A server receives the request and determines whether an account code is necessary or optional for the phone call. If an account code is necessary or optional, the server prompts the user for an account code. In addition, if an account code is necessary, the server flags the phone call accordingly. The phone call is completed once the user has entered a valid account code. The phone call may also be completed if an account code is optional and the user has declined to enter an account code.
A user may initiate a phone call using any of a variety of devices. Each of these devices is different and has its own advantages and disadvantages for the user to initiate a conversation. These devices include both endpoints, such as analog phones, Internet-Protocol (IP) based phones, and software phones (softphones), and software applications that control these endpoints. These software applications, sometimes known as call managers, run on computers and offer users an interface through which the users may perform call-related functions such as transferring calls, placing calls on hold, and obtaining caller ID information, in addition to initiating calls.
Assume that a user initiates a phone call using a first device, such as an endpoint that will be used during the phone call. Traditionally, if the user wants to enter an account code, the account code must be entered using the first device. However, the user may prefer to use a second device to enter the account code, such as a call manager that has a user interface that enables the user to enter a name associated with an account code (e.g., a customer name) rather than the account code itself. Similarly, a user who has initiated a call using a call manager may wish to enter an account code using an endpoint. Traditional enterprise telephony systems require a user to enter an account code using the same device that was used to initiate the phone call.
What is needed is a system and method that enables a user to enter an account code using a device other than the device that was used to initiate the phone call.